The use of Ethernet bridges to provide connections between local area networks (LANs) or wide area networks (WANs) is well known. Generally a bridge connects similar LANs at the Layer 2 level. Among other components, an Ethernet bridge contains a bridge forwarding database that is used in switching network traffic processed by the bridge. Some bridges are centralized and operate as a single entity or device. In these centralized bridges, all the packets are received by the single entity, which makes the bridging decisions utilizing a centralized forwarding database. Other bridges contain multiple devices, with each device including one or more packet processors. In some systems, the packet processors are application specific integrated circuits (ASICs) customized to perform Ethernet bridging functions.
In multi-device bridges, each device is typically a multi-port device capable of receiving and forwarding packets at any of the device ports. An example of such a multi-device bridge is a bridge configured as a single chassis with multiple devices in the form of line card blades in the chassis. Alternatively, a bridge with multiple devices may be configured in a stacked configuration. Preferably, the multi-device bridge is configured and operated as a single entity, although it contains multiple devices. Accordingly, the devices in such a multi-device bridge each maintain an independent or separate forwarding database to support independent bridging functionality. Each device makes independent bridging decisions based, in part, on the data maintained in the device's forwarding database. Thus, a multi-device bridge may be considered as including a distributed forwarding database.
In order to reliably process network traffic, the various forwarding databases maintained by the devices are synchronized, preferably providing each independent device with the same copy of the same database at all times. Thus, a multi-device bridge with distributed and synchronized forwarding databases is able to operate as a single bridging entity. For example, when a new station, such as a laptop, connects to a port of a particular device and joins the network, the MAC address of the laptop is learned by the particular device to which the laptop is connected. Then the particular device provides information related to the new station to the other devices in the bridge, which update their respective forwarding databases with the new MAC address of the laptop. On the other hand, when a station leaves the network, the Ethernet bridging standards provide for address aging so that the MAC address of the station will not consume unnecessary network resources, such as memory, in the forwarding databases maintained by each of the devices in the bridge. Thus, once a station leaves the network, its MAC address should be deleted from the forward databases of all the devices in the network. In practice, the synchronization of such a distributed forwarding database is problematic in the context of mobile users and varying station connections. Thus, there is a need in the art for methods and systems to reliably synchronize the independent forwarding databases making up the distributed database in a multi-device bridge.